package com.dhcc.DRGsHosp.facade;

import java.util.List;
import java.util.Map;

import org.dom4j.Element;

import com.dhcc.DRGsHosp.facade.dto.XmlStructureDTO;

/**
 * 
 * @title		:XmlStructureFacade.java
 * @description	:
 * @author		:mazhaoyan
 * @date		:2017年4月18日
 * @version     :1.0
 * @copyright   :DHCC 2013-2014
 */
public interface XmlStructureFacade {
	/**
	 * 
	 * @methodname    :getTableStructure
	 * @description   : 获取表结构
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2017年4月18日
	 */
	public List<Map<String,Object>> getTableStructure(String tableName);
	
	/**
	 * 
	 * @methodname    :readJson
	 * @description   : 读json
	 * @param         :
	 * @author        :mazhaoyan
	 * @return        :
	 * @date          :2017年4月19日
	 */
	public String readJson(String filePath);
	
	/**
	 * 
	 * @Title: creatXmlStructure
	 * @author:LiQingYang   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param xmlStructureDTO      
	 * @return: void      
	 * @throws
	 * @date:2017年4月26日 上午11:32:17
	 */
	public String creatXmlStructure(XmlStructureDTO xmlStructureDTO); 
	
    /**
     * 
     * @Title: getXmlInfoByStructure
     * @author:LiQingYang   
     * @Description: TODO(这里用一句话描述这个方法的作用)   
     * @param:       
     * @return: void      
     * @throws
     * @date:2017年4月26日 下午4:20:08
     */
    public String getXmlInfoByStructure(String filePath);
    
  
    /**
     * 
     * @Title: nodeInfoRemove
     * @author:LiQingYang   
     * @Description: TODO(这里用一句话描述这个方法的作用)   
     * @param: @param treeId      
     * @return: void      
     * @throws
     * @date:2017年5月5日 下午3:09:42
     */
    public void nodeInfoRemove(String treeId);
    /**
     * Description ：获取xml配置表信息 
     * date: 2017年5月12日 下午3:43:48  
     * @author ShaozhiYuan
     * @version V1.0 DHC
     */
    public List<Map<String, Object>> findXMLTable(String templateType);
    
    /**
     * 
     * @methodname    :parseXmlNode
     * @description   : 
     * @param         :
     * @author        :mazhaoyan
     * @return        :
     * @date          :2017年6月14日
     */
    public void parseXmlNode(Element element,Map<String,Object> paramMap);
    
    /**
     * 
     * @methodname    :getInitProperty
     * @description   : 数据抽取的基本属性信息
     * @param         :
     * @author        :mazhaoyan
     * @return        :
     * @date          :2017年6月14日
     */
    public Map<String,Object> getInitProperty();
    
    /**
     *  根据节点配置路径查询节点信息
     *  findNodeConfigInfo.  
     *  @Description：
     *  @Author ChenHanlin
     *  @param path
     *  @return 
     *  @Date:2017年11月29日下午3:01:54
     */
	public List<Map<String,Object>> findNodeConfigInfoByPath(String path);
}
